package com.system.config;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;

import com.frame.jfinal.IRoutes;
import com.jfinal.config.Routes;
import com.system.controller.ResourceController;
import com.system.controller.UserInfoController;
import com.system.task.ClearLockUserTask;

/**
 * @author LRC
 * @createDate 2015年5月19日
 * @description 系统管理路由请求配置
 */
public class SystemConfig implements IRoutes{

	/**
	 * System模块管理的任务
	 */
	private static List<Timer> tasks = new ArrayList<Timer>();
	
	@Override
	public void routeConfig(Routes me) {
		me.add("/sys/res",ResourceController.class,"/WEB-INF/html/system/resource");
		me.add("/sys/user",UserInfoController.class,"/WEB-INF/html/system/user");
		
		//清除任务
		clearTask();
		//启动后台定时任务
		startTask();
	}
	
	/*******************************************
	 * 功能描述：启动系统后台基础服务
	 *******************************************
	 * @createDate 2015-9-12 by LRC 
	 * @updateRecord 格式：时间，作者，修改说明
	 *******************************************
	 * 
	 */
	public void startTask(){
		Timer timer = null; 
		
		//注册定时解锁用户 60秒钟后执行，1分钟执行一次
		timer = new Timer();
	    timer.schedule(new ClearLockUserTask(), 60000, 60 * 1000);
	    tasks.add(timer);
	    
	}
	
	/*******************************************
	 * 功能描述：清除后台服务 
	 *******************************************
	 * @createDate 2015-9-12 by LRC 
	 * @updateRecord 格式：时间，作者，修改说明
	 *******************************************
	 * 
	 */
	private void clearTask(){
		//循环取消任务
		for(Timer t : tasks){
			t.cancel();
		}
		//清除任务
		tasks.clear();
	}
}
